package com.jprocms.module.cms.service.imgblock;

import java.util.*;
import javax.validation.*;
import com.jprocms.module.cms.controller.admin.imgblock.vo.*;
import com.jprocms.module.cms.dal.dataobject.imgblock.ImgblockDO;
import com.jpro.framework.common.pojo.PageResult;
import com.jpro.framework.common.pojo.PageParam;

/**
 * 飘窗板块 Service 接口
 *
 * @author jprocms
 */
public interface ImgblockService {

    /**
     * 创建飘窗板块
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createImgblock(@Valid ImgblockSaveReqVO createReqVO);

    /**
     * 更新飘窗板块
     *
     * @param updateReqVO 更新信息
     */
    void updateImgblock(@Valid ImgblockSaveReqVO updateReqVO);

    /**
     * 删除飘窗板块
     *
     * @param id 编号
     */
    void deleteImgblock(Long id);

    /**
     * 获得飘窗板块
     *
     * @param id 编号
     * @return 飘窗板块
     */
    ImgblockDO getImgblock(Long id);

    /**
     * 获得飘窗板块分页
     *
     * @param pageReqVO 分页查询
     * @return 飘窗板块分页
     */
    PageResult<ImgblockDO> getImgblockPage(ImgblockPageReqVO pageReqVO);
    /**
     * 获得飘窗板块列表
     *
     * @param pageReqVO 分页查询
     * @return 飘窗板块列表
     */
    List<ImgblockDO> getImgblockList(ImgblockPageReqVO pageReqVO);
    /**
     * 飘窗发生变化生成静态页
     * @param oldImgblockDO
     * @param imgblockDO
     */
    void staticHtmlPage(ImgblockDO oldImgblockDO,ImgblockDO imgblockDO);
}